#ifndef _TaskSLISTask_H_
#define _TaskSLISTask_H_

#include "list"
#include "mutex"
#include "task.h"
#include "memory"

using namespace std;

namespace easyWebServer
{

class TSList
{
public:
    TSList(); 
    ~TSList();

    void insert(unique_ptr<Task> & t);
    unique_ptr<Task> front();
    void popFront();
    void clear();
    size_t size();

private:
    list<unique_ptr<Task>> m_list;
    mutex m_mutex;

};

}

#endif